import { IParam } from '@/core';
import { AUTH_PROVIDERUIServiceBase } from './auth-provider-ui-service-base';

/**
 * 统一认证/外部认证UI服务
 * 基于template/src/ui-service/{{appEntities}}/{{appEntities}}-ui-service.ts.hbs生成
 *
 * @export
 * @class AUTH_PROVIDERUIService
 * @extends AUTH_PROVIDERUIServiceBase
 */
export class AUTH_PROVIDERUIService extends AUTH_PROVIDERUIServiceBase {
	/**
	 * 基础UI服务实例
	 *
	 * @private
	 * @type { AUTH_PROVIDERUIService }
	 * @memberof AUTH_PROVIDERUIService
	 */
	private static basicUIServiceInstance: AUTH_PROVIDERUIService;

	/**
	 * UI服务存储Map对象
	 *
	 * @private
	 * @type {Map<string, any>}
	 * @memberof AUTH_PROVIDERUIService
	 */
	private static UIServiceMap: Map<string, any> = new Map();

	/**
	 * Creates an instance of AUTH_PROVIDERUIService.
	 * @memberof AUTH_PROVIDERUIService
	 */
	constructor(opts?: IParam) {
		super(opts);
	}

	/**
	 * 获取实例
	 *
	 * @static
	 * @param 应用上下文
	 * @return {*}  { AUTH_PROVIDERUIService }
	 * @memberof AUTH_PROVIDERUIService
	 */
	static getInstance(opts?: IParam): AUTH_PROVIDERUIService {
		if (!this.basicUIServiceInstance) {
			this.basicUIServiceInstance = new AUTH_PROVIDERUIService(opts);
		}
		return this.basicUIServiceInstance;
	}
}
export default AUTH_PROVIDERUIService;
